3D Grafik mit OpenGL und Perl
1: (als OpenGL Font)
Warum?
Was geht?
Wie geht's?
Warum nicht?
3D Grafik sieht nett aus
3D Grafik ist einfach und macht Spaß
1: Notebook
Hardware-Unterstützung ist vorhanden
... fast überall verfügbar wo's Perl gibt
Sogar auf meinem Notebook
Hardware muss benutzt werden
Anything goes
... solange man möglichst wenig in Perl macht
use OpenGL::Simple qw(:all);
OpenGL-Code schreiben
Möglichst wenig Grafik/Berechnungen in Perl
Von SGI für die IRIS-Workstations entwickeltes API
IRIS GL wurde etwa 1992 zu OpenGL
Offener Standard
Nvidia (ex SGI) und ATi sind auf dem PC-Markt
HTML / VRML / Raytracer sind deskriptive Sprachen
OpenGL ist eine prozedurale Beschreibungssprache (wie Postscript)
Perl auch
1: init() 2: 3: while(1) { 4: glClear(0,0,0,0); 5: draw_scene(); 6: glFlush(); 7: }
Spiegelungen
Texturen
Schatten
?(Netzwerk)spiele?
1: oder Camelite
1: Pong
?Camel-Modell?
Position via POST-request
Spielupdate via Response
(Bilder/Screenshots?)
Polygone (Dreiecke, Vierecke, ...)
Licht (aber kein Schatten)
Drehungen, Verschiebungen, Streckungen
Nebel
Texturen
Transparenz
Würfel (done)
Marmorfläche (Spiegelung, todo)
Planet (done)
Fireworks (todo)
The Red Book (v1.1 Online unter http://fly.cc.fer.hr/~unreal/theredbook/)
The Red Book (v1.4: ISBN ... )
Bleibt weg von NeHes Tutorials
Fragen? (als 3D Font)
View (= Kamera)
Model (= Motiv)
Projection (= Fotolinse)
Viewport (= Format des Papiers)
glSolidSphere(); glTranslate();
gluLookat();
glViewport();
1: my $angle; 2: sub draw_scene { 3: glTranslate(0,0,-5); 4: glSolidCube(1); 5: glRotate(($angle++ % 360),0,1,1); 6: }